export function checkForThreeSameSymbols(board) {
  let count = 0;

  // 1. 水平检查：每一行中是否有连续的 3 个相同的符号
  for (let row = 0; row < 5; row++) {  // 5行
    for (let col = 0; col <= 0; col++) {  // 只检查每行的第一列
      // 只需检查每行第一个位置开始的连续3个位置
      if (
        board[row][col] === board[row][col + 1] &&
        board[row][col + 1] === board[row][col + 2]
      ) {
        count++;
      }
    }
  }

  // 2. 垂直检查：每一列中是否有连续的 3 个相同的符号
  for (let col = 0; col < 3; col++) {  // 3列
    for (let row = 0; row <= 2; row++) {  // 只检查前三行
      if (
        board[row][col] === board[row + 1][col] &&
        board[row + 1][col] === board[row + 2][col]
      ) {
        count++;
      }
    }
  }

  // 3. 斜线检查：从左上到右下的对角线
  for (let row = 0; row <= 2; row++) {  // 检查行范围，最大只能是第3行
    for (let col = 0; col <= 0; col++) {  // 只检查列范围中的第一列
      if (
        board[row][col] === board[row + 1][col + 1] &&
        board[row + 1][col + 1] === board[row + 2][col + 2]
      ) {
        count++;
      }
    }
  }

  // 4. 斜线检查：从右上到左下的对角线
  for (let row = 0; row <= 2; row++) {  // 检查行范围，最大只能是第3行
    for (let col = 2; col < 3; col++) {  // 只检查列范围中的第3列
      if (
        board[row][col] === board[row + 1][col - 1] &&
        board[row + 1][col - 1] === board[row + 2][col - 2]
      ) {
        count++;
      }
    }
  }

  console.log(count);
  return count;
}

// 调用函数 五行三列的二维字符串数组
let board = [
  ["X", "O", "X"],
  ["O", "X", "O"],
  ["1", "2", "3"],
  ["O", "X", "O"],
  ["X", "O", "X"],
];

console.log(board.length);  // 输出行数（5）
checkForThreeSameSymbols(board);
